package com.eight.cloud.payment.service;

import com.eight.cloud.mybatisplus.service.IBaseService;
import com.eight.cloud.payment.entity.SubPayOrderEntity;
import com.eight.cloud.payment.model.dto.SubPayOrderDto;
import com.eight.cloud.payment.model.vo.SubPayOrderVo;

/**
* 子商户支付订单信息 服务类
*
* @ClassName: ISubPayOrderService
* @Author TXC
* @Date 2025-01-07 17:22
*/
public interface ISubPayOrderService extends IBaseService<SubPayOrderEntity> {
    /**
     * 新增订单
     * @param subPayOrderDto 子商户支付订单信息
     * @return 子商户支付订单信息
     */
    SubPayOrderVo addOrder(SubPayOrderDto subPayOrderDto);

    /**
     * 查询订单
     * @param merchantId 商户id
     * @param subOrderId 子商户订单号
     * @param appid appid
     * @return 子商户支付订单信息
     */
    SubPayOrderVo findSubPayOrder(String merchantId, String subOrderId, String appid);


    /**
     * 更新订单
     * @param uuid 订单号
     * @param transactionId 支付平台流水号
     * @param status 订单状态
     * @return 是否更新成功
     */
    boolean updateSubPayOrder(String uuid, String transactionId, Integer status);

    /**
     * 根据支付平台流水号查询订单
     * @param merchantId 商户号
     * @param transactionId 支付平台流水号
     * @param appid appid
     * @return 子商户支付订单信息
     */
    SubPayOrderVo findSubPayOrderByTransactionId(String merchantId, String transactionId, String appid);

}
